package com.rui.shangXueTang.hashTable;

/**
 * @author : [锐神NO.3]
 * @version : [v1.0]
 * @className : StudentLinkedList
 * @createTime : [2022/2/16 16:10]
 * @description : [描述该类的功能]
 */

public class StudentLinkedList {

    private Student head;

    /**
     * 添加节点
     * 如果添加时是第一个学生对象
     */
    public void add(Student newStudent) {
        //1.如果添加的是第一个学生对象
        if(head == null) {
            head = newStudent;
            return;
        }
        //2.如果不是第一个学生对象
        Student temp = head;
        while(true) {
            if(temp.next == null) {
                break;
            }
            temp = temp.next;
        }

        //添加了新的节点
        temp.next = newStudent;
    }

    /**
     * 查看学生信息
     * @param no 第几条链表
     */
    public void list(int no) {
        if(head == null){
            System.out.println(no + "号链表为空");
            return;
        }

        Student temp = head;
        while(true) {
            System.out.println("id: " + temp.id + " name: " + temp.name);
            if(temp.next == null){
                break;
            }
            temp = temp.next;
        }
    }

    /**
     * 根据学生编号查询节点
     */
    public Student findById(int id){
        if(head == null){
            System.out.println("链表为空");
            return null;
        }

        Student temp = head;
        while (true) {
            if(temp.id == id){
                return temp;
            }
            if(temp.next == null){
                return null;
            }
            temp = temp.next;
        }
    }
}
